In bugtraq various folks wrote: >The security hole in access() is really that it has an implicit race >condition in it. You check a file, and then you assume moments later that >the same access is granted. So, if the file is a really a symlink, and >someone changes where it points to between the access() and the open(), a >completely different file might be affected. This is the root of many of >the holes that get posted here (xterm, /bin/mail come to mind). The obvious correct coding is to open *first*, then check access, and close it back up if you shouldn't have opened it.